#!/usr/bin/env python3
# -*- coding: utf-8 -*-

"""
为模糊题目生成具体的修改建议
"""


def generate_vague_topic_suggestion(title: str, reason: str) -> str:
    """
    为模糊题目生成具体的修改建议
    """
    suggestion = f"题目问题分析：{reason}\n\n"
    suggestion += "具体修改建议：\n"
    
    # 根据不同的模糊原因提供针对性建议
    if "主题不明确" in reason or "研究对象不明确" in reason:
        suggestion += "1. 明确研究对象：添加具体的研究对象，如'办公用品'、'化学用品'、'在线教育'等\n"
        suggestion += "2. 细化研究范围：添加时间、地点、特定群体等限定词，如'高校学生'、'中小企业'等\n"
        suggestion += "3. 增加应用场景：明确具体的应用场景，如'库存管理'、'环境监测'、'智能推荐'等\n"
    elif "范围过大" in reason:
        suggestion += "1. 缩小研究范围：将宽泛的概念具体化，如将'智能系统'改为'库存管理系统'\n"
        suggestion += "2. 增加限定条件：添加具体的技术、方法或应用领域\n"
        suggestion += "3. 细化研究对象：明确具体的研究对象，避免使用'系统'、'平台'等通用词\n"
    elif "结构常见于宽泛题目" in reason:
        suggestion += "1. 调整句式结构：避免使用常见的宽泛结构，尝试创新表达方式\n"
        suggestion += "2. 增加具体内容：在通用结构中添加具体的研究内容\n"
        suggestion += "3. 明确研究角度：突出研究的独特视角或创新点\n"
    elif "关键词" in reason and "宽泛" in reason:
        suggestion += "1. 替换宽泛词汇：将'智能系统'、'管理系统'等替换为更具体的词汇\n"
        suggestion += "2. 增加限定词：在宽泛词汇前添加具体限定词\n"
        suggestion += "3. 细化技术路径：明确具体的技术实现方式\n"
    elif "缺乏具体研究内容" in reason:
        suggestion += "1. 添加研究内容：明确具体要研究的问题或解决的痛点\n"
        suggestion += "2. 明确研究方法：添加具体的研究方法或技术手段\n"
        suggestion += "3. 细化研究目标：明确研究要达成的具体目标\n"
    elif "缺乏明确研究方向" in reason:
        suggestion += "1. 明确研究领域：添加具体的研究领域，如'教育技术'、'环境监测'等\n"
        suggestion += "2. 细化研究问题：明确要解决的具体问题\n"
        suggestion += "3. 添加研究视角：从特定角度切入研究，如'基于用户行为分析'等\n"
    elif "安防系统" in reason and "范围过大" in reason:
        suggestion += "1. 明确安防类型：具体说明是哪种安防，如'入侵检测'、'火灾报警'、'视频监控'等\n"
        suggestion += "2. 细化防护对象：明确保护的具体对象，如'化学用品存储'、'数据中心'等\n"
        suggestion += "3. 添加技术手段：明确采用的具体技术，如'图像识别'、'传感器网络'等\n"
    
    # 检查是否包含有空格的技术栈名称
    tech_stacks_with_spaces = []
    if "spring boot" in title.lower():
        tech_stacks_with_spaces.append("SpringBoot")
    if "vue js" in title.lower():
        tech_stacks_with_spaces.append("Vue.js")
    if "react js" in title.lower():
        tech_stacks_with_spaces.append("React.js")
    if "node js" in title.lower():
        tech_stacks_with_spaces.append("Node.js")
    if "angular js" in title.lower():
        tech_stacks_with_spaces.append("AngularJS")
    
    # 如果发现有空格的技术栈名称，添加专门的建议
    if tech_stacks_with_spaces:
        suggestion += f"4. 技术栈名称规范：{'、'.join(tech_stacks_with_spaces)}等技术名称中间及前后无需空格\n"
    
    # 通用建议
    suggestion += "\n通用优化建议：\n"
    suggestion += "1. 题目长度适中：建议控制在20-30个字符之间\n"
    suggestion += "2. 关键词精准：使用专业且具体的关键词\n"
    suggestion += "3. 结构清晰：确保题目结构逻辑清晰，层次分明\n"
    suggestion += "4. 创新性体现：突出研究的创新点或独特价值\n"
    suggestion += "5. 实用性导向：体现研究成果的实际应用价值\n"
    
    # 示例参考
    suggestion += "\n示例参考：\n"
    suggestion += "- 模糊题目：智慧长者管理系统\n"
    suggestion += "- 优化后：基于STM32的智慧长者健康监测与紧急求助系统设计\n"
    suggestion += "- 模糊题目：智能办公系统的设计与实现\n"
    suggestion += "- 优化后：基于SpringBoot的中小企业智能办公协同管理系统设计与实现\n"
    suggestion += "- 模糊题目：基于STM32的化学用品智能安防系统的设计与实现\n"
    suggestion += "- 优化后：基于STM32的化学用品存储环境智能监测与预警系统设计\n"
    
    return suggestion